package net.tngou.iask.action.api;

import java.util.HashMap;

import net.tngou.iask.action.BaseAction;
import net.tngou.iask.enums.LevelEnum;
import net.tngou.iask.pojo.Filter;
import net.tngou.iask.pojo.POJO;
import net.tngou.iask.util.StringUtil;

/**
 * 添加问题显示过滤条件
 * @author tngou@tngou.net
 *
 */
public class FilterApi extends BaseAction {

	/**
	 * 添加问题显示条件
	 */
	@SuppressWarnings("serial")
	public void add() {
		if(user==null){
			run_nologin();return;
		}
		if(user.getRole()!=1){
			run_false("没有添加权限");return;
		}
		Filter bean=getAsk(Filter.class);
		if(isEmpty(bean.getName(),bean.getDescription(),bean.getTemp()))
		{
			run_false("请求的参数不正确！");return;
		}
		POJO pojo = bean.get(new HashMap<String,Object>(){{put("name", bean.getName());}});
		if(pojo!=null)
		{
			run_false("已经存在相关的过滤添加！");return;
		}
		long b = bean.save();	
		if(b>0){
			saveLog(LevelEnum.operation, "添加过滤条件("+bean.getId()+":"+bean.getName()+")");
			run_success(b+"");}
		else run_false("添加失败");
		
	}
	/**
	 * 修改问题显示
	 */
	public void update() {
		if(user==null){
			run_nologin();return;
		}
		if(user.getRole()!=1){
			run_false("没有添加权限");return;
		}
		if(ask.getId()==0)
		{
			run_false("请求的参数不正确！");return;
		}
		Filter filter = new Filter().get(ask.getId());
		if(filter==null)
		{
			run_false("请求的参数不正确！");return;
		}
		Filter bean=getAsk(Filter.class);
		if(StringUtil.isNotEmpty(bean.getName()))
		{
			if(!bean.getName().equals(filter.getName()))
			{
				POJO pojo = bean.get(new HashMap<String,Object>(){{put("name", bean.getName());}});
				if(pojo!=null)
				{
					run_false("已经存在相关的过滤添加！");return;
				}
				filter.setName(bean.getName());
			}	
		}
		if(StringUtil.isNotEmpty(bean.getDescription()))filter.setDescription(bean.getDescription());
		if(StringUtil.isNotEmpty(bean.getTemp()))filter.setTemp(bean.getTemp());
		long b = filter.update();
		if(b>0){
			saveLog(LevelEnum.operation, "修改过滤条件("+bean.getId()+":"+bean.getName()+")");
			run_success("修改成功");
			}
		else run_false("修改失败");
	}
}
